package com.wsj.message_server.mapper;

import com.wsj.message_server.entity.*;
import com.wsj.message_server.req.REQOfficiaNotifyInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public interface MaterialCommentMapper {

    List<SystemNotify> systemNotify(@Param("uid") Integer uid);

    List<CommentNotify> commentNotify(@Param("uid")Integer uid);

    List<FansNotify> fansList(@Param("uid")Integer uid);

    List<MaterialNotify> materialList(@Param("uid")Integer uid);

    void updateNotifyIsRead(Integer uid);

    void updateCommentIsRead(@Param("list") List<CommentNotify> list);

    void updateFansIsRead(Integer uid);

    void updateMateriaIsRead(Integer uid);

    int systemNum(Integer uid);

    int commentNum(Integer uid);

    int fansNum(Integer uid);

    int materialNum(Integer uid);

    int delSystemNotify(@Param("uid") Integer uid, @Param("id") int id);

    int delCommentNotify(@Param("uid") Integer uid, @Param("id") int id);

    int delFansNotify(@Param("uid") Integer uid, @Param("id") int id);

    int delMaterialNotify(@Param("uid") Integer uid, @Param("id") int id);

    List<OfficiaNotify> officiaNotify(@Param("uid")Integer uid);

    void updateOfficiaIsRead(Integer uid);

    int officiaNum(Integer uid);

    OfficiaNotify officiaNotifyInfo(@Param("uid")Integer uid,@Param("data") REQOfficiaNotifyInfo data);

    int delOfficiaNotify(@Param("uid") Integer uid, @Param("id") int id);

    List<OfficiaNotify> officiaList(Integer uid);

    List<OrderNotify> orderNotify(@Param("uid")Integer uid);

    void updateOrderIsRead(@Param("uid")Integer uid);

    int orderNum(@Param("uid")Integer uid);
}
